#include"mySQLHelper.h"

mySQLHelper::mySQLHelper(){//构造函数，创建对象后，自动连接数据库
        	
        mysql_init(&conn);
		if(mysql_real_connect(&conn,host,user,password,db_name,3306,NULL,CLIENT_FOUND_ROWS)){
			cout<<"connect datebase success"<<endl;
		}
		else{
			cout<<"connect datebase failed! Err:"<<mysql_error(&conn)<<endl;//连接不成功,输出错误和错误信息。
    		exit(1);
		}
}

mySQLHelper::~mySQLHelper(){//析构函数，对象销毁，将与数据库的连接断开
        mysql_close(&conn);
}

bool mySQLHelper::insert_info(user_info &user_in){//插入信息 
		int res;//用来接收数据库操作返回状态		
        char sql_cmd[1024];
        sprintf(sql_cmd,"insert into info_user values(%d,\"%s\",%d,\"%s\")",user_in.id,user_in.name.c_str(),user_in.age,user_in.gender.c_str());
		cout<<sql_cmd<<endl;
		res=mysql_query(&conn,sql_cmd); //对数据库实现增删改查 c_str()将string转换为 char*
		if(res){
			printf("插入数据错误\n");//mysql_query执行成功返回0，否则返回非0值。
            return false;
		}
		else{
			cout<<"插入数据成功"<<endl;
            return true;
		}

}
    

bool mySQLHelper::update_info(user_info &user_in){
		int res;//用来接收数据库操作返回状态		
        char sql_cmd[1024];
		sprintf(sql_cmd,"update info_user set name = \"%s\" where name = \"wdd\"",user_in.name.c_str());
		cout<<sql_cmd<<endl;
		res=mysql_query(&conn,sql_cmd); //对数据库实现增删改查 c_str()将string转换为 char*
		if(res){
			printf("更新数据错误\n");//mysql_query执行成功返回0，否则返回非0值。
            return false;
		}
		else{
			cout<<"更新数据成功"<<endl;
            return true;
		}

}

bool mySQLHelper::delete_info(user_info &user_in){
		int res;//用来接收数据库操作返回状态		
        char sql_cmd[1024];
		sprintf(sql_cmd,"delete from info_user where name = \"%s\"",user_in.name.c_str());
		cout<<sql_cmd<<endl;
		res=mysql_query(&conn,sql_cmd); //对数据库实现增删改查 c_str()将string转换为 char*
		if(res){
			printf("删除数据错误\n");//mysql_query执行成功返回0，否则返回非0值。
            return false;
		}
		else{
			cout<<"删除数据成功"<<endl;
            return true;
		}
	
}